setTimeout(() => {
  console.log(0)
}, 0)

async function async1() {
  console.log(1)
  const data = await async2()
  console.log(3)
  return data;
}
async function async2() {
  return new Promise((resolve) => {
    console.log(2)
    resolve('async2 data')
  })
}

async1()
